#pragma once

#include <ECS/ECS.h>
#include <cocos2d.h>
#include <ECS/Patterns/Nullable.h>
#include "Components/Transform.h"

struct SceneNodeDef
{
	mtMETA_DEC;
};

class SceneNode : public ECS::Component
{
	mtMETA_DEC;
public:
	SceneNode();
	virtual ~SceneNode();

	bool initWith(SceneNodeDef* def);

	void onStart();

	cocos2d::CCNode* getNode() const;

	virtual void onDestroy();
protected:
	cocos2d::CCNode* _node;
	TransformClient* _tClient;
};